﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using TrabalhoLAP.Controller;
using TrabalhoLAP.Model;

namespace TrabalhoLAP.Views.Cadastro.Item
{
    public partial class AlterarItem : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void consultarItem_Click(object sender, EventArgs e)
        {
            DataSet dataset = new DataSet();
            MaintainItem maintainItem = new MaintainItem();
            ArrayList Itens = new ArrayList();
  
            string statusRegistro = ckbStatusRegistro.Checked == true ? "1" : "0";


            Itens = maintainItem.consultarItem((txbDrcItem.Text.Equals("") || txbDrcItem.Text == null) ? "" : txbDrcItem.Text, 
                                               (txbCodItem.Text.Equals("") || txbCodItem.Text == null) ? 0 : Convert.ToInt32(txbCodItem.Text),
                                               (txbCodCategoria.Text.Equals("") || txbCodCategoria.Text == null) ? 0 : Convert.ToInt32(txbCodCategoria.Text), 
                                               txbDrcCategoria.Text, statusRegistro);
            
            if (dataset != null)
            {                
                gdwResultadoConsulta.DataSource = Itens;
                gdwResultadoConsulta.DataBind();
                ViewState["ListaItens"] = Itens;      
            }
            else
            {
                Response.Write("<script>alert('Erro ao obter os dados');</script>");
            }
        }

        protected void gdwResultadoConsulta_RowEditing(object sender, GridViewEditEventArgs e)
        {
            if (ViewState["ListaItens"] != null)
            {
                gdwResultadoConsulta.EditIndex = e.NewEditIndex;
                gdwResultadoConsulta.DataSource = ViewState["ListaItens"];
                gdwResultadoConsulta.DataBind();
            }
        }

        protected void gdwResultadoConsulta_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            DataSet dataset = new DataSet();
            MaintainItem mta = new MaintainItem();

            Label   lblcodItem = gdwResultadoConsulta.Rows[e.RowIndex].FindControl("gdvLblCodItem") as Label;
            TextBox txbdrcItem = gdwResultadoConsulta.Rows[e.RowIndex].FindControl("gdvTxbDrcItem") as TextBox;
            CheckBox CkbStatusRegistro = gdwResultadoConsulta.Rows[e.RowIndex].FindControl("gdvCkbStatusRegistro") as CheckBox;
            string statusRegistro = CkbStatusRegistro.Checked == true ? "1" : "0";

            if (mta.atualizarItem(Convert.ToInt32(lblcodItem.Text), txbdrcItem.Text, statusRegistro) != false)
            {
                Response.Write("<script>alert('Dados atualizados com sucesso');</script>");
                consultarItem_Click(null, null);
            }
            else
            {
                Response.Write("<script>alert('Erro ao atualizar os dados');</script>");
                gdwResultadoConsulta.DataSource = ViewState["ListaAlunos"];
                gdwResultadoConsulta.DataBind();
            }

            gdwResultadoConsulta.EditIndex = -1;
        }

        protected void gdwResultadoConsulta_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            gdwResultadoConsulta.EditIndex = -1;
            gdwResultadoConsulta.DataSource = ViewState["ListaAlunos"];
            gdwResultadoConsulta.DataBind();
        }

        protected void gdwResultadoConsulta_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                MaintainCategoria maintaincategoria = new MaintainCategoria();
                ArrayList caracteristica = new ArrayList();
                                
                DropDownList ddlCategoria = e.Row.FindControl("gdvddlcodCategoria") as DropDownList;

                caracteristica = maintaincategoria.consultarCategoria("", 0, 0, "X");
                caracteristica = maintaincategoria.adicionarRegBranco(caracteristica);

                ddlCategoria.DataSource = caracteristica;
                ddlCategoria.DataValueField = "codCategoria";
                ddlCategoria.DataTextField = "drcCategoria";
                ddlCategoria.DataBind();
            }
        }
    }
}
